Simon McVittie [Tue, 8 Mar 2022 16:16:43 +0000 (16:16 +0000)]
Make fast forward from 2022.2-2
[dgit --quilt=unapplied]
Simon McVittie [Mon, 7 Mar 2022 19:52:25 +0000 (19:52 +0000)]
test-prune: Read to the end of cut(1) output
If we use head(1) to take only the first two lines, then cut(1) and
earlier pipeline entries are killed by SIGPIPE (if they have not already
terminated), and that's flagged as an error under `set -o pipefail`.
Use an equivalent sed command to take exactly the second line, but
without SIGPIPE.
Signed-off-by: Simon McVittie <smcv@debian.org>
Gbp-Pq: Name test-prune-Read-to-the-end-of-cut-1-output.patch
Simon McVittie [Mon, 7 Mar 2022 21:07:25 +0000 (21:07 +0000)]
s390x-se-luks-gencpio: Use interoperable path for bash
On OSs that do not consistently merge /usr/bin with /bin, the path to
bash has traditionally been /bin/bash.
Signed-off-by: Simon McVittie <smcv@debian.org>
Gbp-Pq: Name s390x-se-luks-gencpio-Use-interoperable-path-for-bash.patch
Simon McVittie [Mon, 7 Mar 2022 21:06:48 +0000 (21:06 +0000)]
s390x-se-luks-gencpio: Fix shebang syntax
An indented `#!` is technically meaningless, although many shells will
run text files with the shell if asked to execute them.
Signed-off-by: Simon McVittie <smcv@debian.org>
Gbp-Pq: Name s390x-se-luks-gencpio-Fix-shebang-syntax.patch
Simon McVittie [Mon, 30 Jul 2018 15:51:01 +0000 (16:51 +0100)]
Skip test-pull-repeated during CI
This test is expected to fail a small proportion of the time. During
the build of ostree 2018.7-1 in Debian, it seems we were unlucky on
s390x. Non-deterministic tests are also problematic for autopkgtest,
where they can gate migration of our dependencies like GLib, so skip
this test unless the caller has opted-in to non-deterministic tests.
It would be appropriate to enable this test in environments where
failures can easily be retried and are not disruptive to other
packages.
Signed-off-by: Simon McVittie <smcv@debian.org>
Gbp-Pq: Topic debian
Gbp-Pq: Name Skip-test-pull-repeated-during-CI.patch
Simon McVittie [Tue, 8 Mar 2022 16:16:53 +0000 (16:16 +0000)]
Release to unstable
Simon McVittie [Tue, 8 Mar 2022 16:16:02 +0000 (16:16 +0000)]
d/rules: Correct argument used to disable gjs on s390x
Simon McVittie [Tue, 8 Mar 2022 09:56:56 +0000 (09:56 +0000)]
Release to unstable
Simon McVittie [Tue, 8 Mar 2022 02:01:50 +0000 (02:01 +0000)]
d/rules: Explicitly disable JS-based tests where unreliable
Otherwise we'd build and install these tests if gjs (maybe an old
version) happens to be installed, despite it not being in Build-Depends.
Simon McVittie [Tue, 8 Mar 2022 09:55:53 +0000 (09:55 +0000)]
Make fast forward from 2022.2-1
[dgit --quilt=unapplied]
Simon McVittie [Mon, 7 Mar 2022 19:52:25 +0000 (19:52 +0000)]
test-prune: Read to the end of cut(1) output
If we use head(1) to take only the first two lines, then cut(1) and
earlier pipeline entries are killed by SIGPIPE (if they have not already
terminated), and that's flagged as an error under `set -o pipefail`.
Use an equivalent sed command to take exactly the second line, but
without SIGPIPE.
Signed-off-by: Simon McVittie <smcv@debian.org>
Gbp-Pq: Name test-prune-Read-to-the-end-of-cut-1-output.patch
Simon McVittie [Mon, 7 Mar 2022 21:07:25 +0000 (21:07 +0000)]
s390x-se-luks-gencpio: Use interoperable path for bash
On OSs that do not consistently merge /usr/bin with /bin, the path to
bash has traditionally been /bin/bash.
Signed-off-by: Simon McVittie <smcv@debian.org>
Gbp-Pq: Name s390x-se-luks-gencpio-Use-interoperable-path-for-bash.patch
Simon McVittie [Mon, 7 Mar 2022 21:06:48 +0000 (21:06 +0000)]
s390x-se-luks-gencpio: Fix shebang syntax
An indented `#!` is technically meaningless, although many shells will
run text files with the shell if asked to execute them.
Signed-off-by: Simon McVittie <smcv@debian.org>
Gbp-Pq: Name s390x-se-luks-gencpio-Fix-shebang-syntax.patch
Simon McVittie [Mon, 30 Jul 2018 15:51:01 +0000 (16:51 +0100)]
Skip test-pull-repeated during CI
This test is expected to fail a small proportion of the time. During
the build of ostree 2018.7-1 in Debian, it seems we were unlucky on
s390x. Non-deterministic tests are also problematic for autopkgtest,
where they can gate migration of our dependencies like GLib, so skip
this test unless the caller has opted-in to non-deterministic tests.
It would be appropriate to enable this test in environments where
failures can easily be retried and are not disruptive to other
packages.
Signed-off-by: Simon McVittie <smcv@debian.org>
Gbp-Pq: Topic debian
Gbp-Pq: Name Skip-test-pull-repeated-during-CI.patch
Simon McVittie [Tue, 8 Mar 2022 02:00:50 +0000 (02:00 +0000)]
d/control: Disable JavaScript-based tests on s390x
Mitigates: https://github.com/ostreedev/ostree/issues/2527
Simon McVittie [Mon, 7 Mar 2022 21:13:24 +0000 (21:13 +0000)]
Release to unstable
Simon McVittie [Mon, 7 Mar 2022 21:12:45 +0000 (21:12 +0000)]
Make fast forward from 2022.1-3
[dgit --quilt=unapplied]
Simon McVittie [Mon, 7 Mar 2022 19:52:25 +0000 (19:52 +0000)]
test-prune: Read to the end of cut(1) output
If we use head(1) to take only the first two lines, then cut(1) and
earlier pipeline entries are killed by SIGPIPE (if they have not already
terminated), and that's flagged as an error under `set -o pipefail`.
Use an equivalent sed command to take exactly the second line, but
without SIGPIPE.
Signed-off-by: Simon McVittie <smcv@debian.org>
Gbp-Pq: Name test-prune-Read-to-the-end-of-cut-1-output.patch
Simon McVittie [Mon, 7 Mar 2022 21:07:25 +0000 (21:07 +0000)]
s390x-se-luks-gencpio: Use interoperable path for bash
On OSs that do not consistently merge /usr/bin with /bin, the path to
bash has traditionally been /bin/bash.
Signed-off-by: Simon McVittie <smcv@debian.org>
Gbp-Pq: Name s390x-se-luks-gencpio-Use-interoperable-path-for-bash.patch
Simon McVittie [Mon, 7 Mar 2022 21:06:48 +0000 (21:06 +0000)]
s390x-se-luks-gencpio: Fix shebang syntax
An indented `#!` is technically meaningless, although many shells will
run text files with the shell if asked to execute them.
Signed-off-by: Simon McVittie <smcv@debian.org>
Gbp-Pq: Name s390x-se-luks-gencpio-Fix-shebang-syntax.patch
Simon McVittie [Mon, 30 Jul 2018 15:51:01 +0000 (16:51 +0100)]
Skip test-pull-repeated during CI
This test is expected to fail a small proportion of the time. During
the build of ostree 2018.7-1 in Debian, it seems we were unlucky on
s390x. Non-deterministic tests are also problematic for autopkgtest,
where they can gate migration of our dependencies like GLib, so skip
this test unless the caller has opted-in to non-deterministic tests.
It would be appropriate to enable this test in environments where
failures can easily be retried and are not disruptive to other
packages.
Signed-off-by: Simon McVittie <smcv@debian.org>
Gbp-Pq: Topic debian
Gbp-Pq: Name Skip-test-pull-repeated-during-CI.patch
Simon McVittie [Mon, 7 Mar 2022 21:09:09 +0000 (21:09 +0000)]
Revert Lintian overrides to latest released version of Lintian
Simon McVittie [Mon, 7 Mar 2022 21:07:46 +0000 (21:07 +0000)]
Fix shebang syntax in new libexec script
Simon McVittie [Mon, 7 Mar 2022 19:53:30 +0000 (19:53 +0000)]
Add patch to fix an intermittent test failure involving SIGPIPE
Simon McVittie [Mon, 7 Mar 2022 19:28:22 +0000 (19:28 +0000)]
New upstream release
Closes: #1004467
Simon McVittie [Mon, 7 Mar 2022 19:15:23 +0000 (19:15 +0000)]
Update upstream source from tag 'upstream/2022.2'
Update to upstream version '2022.2'
with Debian dir
a0ece46376261f81e4cc8403c1dd07fef8ed8ccc
Simon McVittie [Mon, 7 Mar 2022 19:15:17 +0000 (19:15 +0000)]
New upstream version 2022.2
Colin Walters [Thu, 3 Mar 2022 21:29:11 +0000 (16:29 -0500)]
Release 2022.2
Colin Walters [Thu, 3 Mar 2022 14:41:45 +0000 (09:41 -0500)]
Merge pull request #2532 from lucab/ups/repo-mode-bare-split-xattrs
lib/core: introduce 'bare-split-xattrs' mode
Luca BRUNO [Thu, 3 Mar 2022 11:12:00 +0000 (11:12 +0000)]
tests/basic-bare-split-xattrs: add fixture, check read logic
Luca BRUNO [Wed, 2 Mar 2022 16:45:02 +0000 (16:45 +0000)]
lib/commit: disallow writing content in 'bare-split-xattrs' mode
This prevents writing content into 'bare-split-xattrs` repository,
while carving some space for experimenting via a temporary
`OSTREE_EXP_WRITE_BARE_SPLIT_XATTRS` environment flag.
Luca BRUNO [Wed, 2 Mar 2022 16:45:01 +0000 (16:45 +0000)]
lib/repo: read split xattrs content from file-xattrs-link objects
Luca BRUNO [Wed, 2 Mar 2022 16:45:00 +0000 (16:45 +0000)]
lib/core: introduce 'bare-split-xattrs' mode
Luca BRUNO [Wed, 2 Mar 2022 16:44:59 +0000 (16:44 +0000)]
lib/core: introduce two new object types for split xattrs
This adds two new object types for storing xattrs separately from
content objects.
`.file-xattrs` are regular files storing xattrs content, encoded as
GVariant. Each object is keyed by the checksum of its content, allowing
for multiple references.
`.file-xattrs-link` are hardlinks which are associated to file objects.
Each object is keyed by the same checksum of the corresponding file
object. The target of the hardlink is an existing file-xattrs object.
In case of reaching the limit of too many links, this object could be
a plain file too.
Luca Bruno [Wed, 2 Mar 2022 16:44:31 +0000 (16:44 +0000)]
Merge pull request #2554 from ostreedev/dependabot/submodules/libglnx-
c71f7ae
build(deps): bump libglnx from `
88da8dd` to `
c71f7ae`
dependabot[bot] [Wed, 2 Mar 2022 12:30:34 +0000 (12:30 +0000)]
build(deps): bump libglnx from `
88da8dd` to `
c71f7ae`
Bumps libglnx from `
88da8dd` to `
c71f7ae`.
---
updated-dependencies:
- dependency-name: libglnx
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Colin Walters [Mon, 28 Feb 2022 13:47:09 +0000 (08:47 -0500)]
Merge pull request #2536 from saqibali-2k/pr/prune-commit-only
src/ostree: Add --commit-only option to ostree prune
Saqib Ali [Thu, 24 Feb 2022 21:57:23 +0000 (16:57 -0500)]
tests/test-prune.sh: Use TAP API
Change tests to use the newer TAP API introduced
in https://github.com/ostreedev/ostree/pull/2440
Saqib Ali [Wed, 23 Feb 2022 00:00:25 +0000 (19:00 -0500)]
tests/test-prune.sh: expand testing for --commit-only
Let's add additional tests to expand the test
suite for the new --commit-only functionality.
Saqib Ali [Tue, 8 Feb 2022 14:08:44 +0000 (09:08 -0500)]
man/prune, bash: Add --commit-only flag for ostree prune
Update the man page and the auto-complete script
to include the --commit-only flag
Saqib Ali [Mon, 7 Feb 2022 15:53:08 +0000 (10:53 -0500)]
src/ostree: Add --commit-only option to ostree prune
Recently we have noticed exceedingly long execution times
for multiple invocations of ostree prune. This is a result of
calculating full reachability on each invocation.
The --commit-only flag provides an alternative strategy. It will only
traverse and delete commit objects to avoid the more expensive
reachability calculations. This allows us to chain multiple --commit-only
commands cheaply, and then follow with a more expensive ostree prune
invocation at the end to clean up orphaned meta and content objects.
Jonathan Lebon [Tue, 22 Feb 2022 20:20:22 +0000 (15:20 -0500)]
Merge pull request #2548 from cgwalters/mtree-load-ensured
Luca Bruno [Tue, 22 Feb 2022 16:32:08 +0000 (16:32 +0000)]
Merge pull request #2552 from ostreedev/dependabot/submodules/libglnx-
88da8dd
build(deps): bump libglnx from `
803adaf` to `
88da8dd`
dependabot[bot] [Tue, 22 Feb 2022 15:51:55 +0000 (15:51 +0000)]
build(deps): bump libglnx from `
803adaf` to `
88da8dd`
Bumps libglnx from `
803adaf` to `
88da8dd`.
---
updated-dependencies:
- dependency-name: libglnx
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Colin Walters [Mon, 21 Feb 2022 19:23:39 +0000 (14:23 -0500)]
Merge pull request #2549 from ostreedev/mwleeds/fix-partial-delta-fetches
Fix marking static delta commits as partial
Phaedrus Leeds [Sat, 19 Feb 2022 20:46:02 +0000 (14:46 -0600)]
lib/repo-refs: Remove misleading newline
Phaedrus Leeds [Sat, 19 Feb 2022 13:55:02 +0000 (07:55 -0600)]
Fix marking static delta commits as partial
This patch makes it so that we mark the .commit file from a static delta
as partial before writing the commit to the staging directory. This
exactly mirrors what we do in meta_fetch_on_complete() when writing the
commit on that codepath, which should lend some credibility to the
correctness of this patch.
I have checked that this fixes an issue Flatpak users have been
encountering (https://github.com/flatpak/flatpak/issues/3479) which
results in error messages like "error: Failed to install
org.freedesktop.Sdk.Extension.texlive: Failed to read commit
c7958d966cfa8b80a42877d1d6124831d7807f93c89461a2a586956aa28d438a: No
such metadata object
8bdaa943b957f3cf14d19301c59c7eec076e57389e0fbb3ef5d30082e47a178f.dirtree"
Here's the sequence of events that lead to the error:
1. An install operation is started that fetches static deltas.
2. The fetch is interrupted for some reason such as network connectivity
dropping.
3. The .commit and .commitmeta files for the commit being pulled are
left in the staging dir, e.g.
"~/.local/share/flatpak/repo/tmp/staging-
dfe862b2-13fc-49a2-ac92-
5a59cc0d8e18-RURckd"
4. There is no `.commitpartial` file for the commit in
"~/.local/share/flatpak/repo/state/"
5. The next time the user attempts the install, libostree reuses the
existing staging dir, pulls the commit and commitmeta objects into
the repo from the staging dir on the assumption that it's a complete
commit.
6. Flatpak then tries to deploy the commit but fails in
ostree_repo_read_commit() in flatpak_dir_deploy(), leading to the
error message "Failed to read commit ..."
7. This happens again any subsequent time the user attempts the install,
until the incomplete commit is removed with "flatpak repair --user".
I will try to also add a workaround in Flatpak so this is fixed even
when Flatpak links against affected versions of libostree.
Colin Walters [Fri, 18 Feb 2022 15:24:13 +0000 (10:24 -0500)]
mtree: Load traversed subdirs when creating parents
I'm working on enhancing the ostree-rs-ext test suite and I hit
a bug where walking a mtree and creating a parent would fail to
load lazy intermediate directories, e.g.:
/ -> usr -> bin
If we walked we'd load `/` but keep `usr` lazy, and then invalidation
would crash because it wasn't loaded.
If we're going to mutate a subdir, we need to have all the parents
loaded.
I know this is missing tests, but...it's a bit tedious to do with
the existing C tests. Eventually soon we'll execute on merging
all 3 repos, and better share test suites.
Colin Walters [Fri, 18 Feb 2022 15:22:26 +0000 (10:22 -0500)]
mtree: Use declare-and-initialize style
Prep for further work.
Dan Nicholson [Thu, 17 Feb 2022 21:30:21 +0000 (14:30 -0700)]
Merge pull request #2546 from cgwalters/drop-aggregate-return
build-sys: Drop `-Werror=aggregate-return`
Colin Walters [Thu, 17 Feb 2022 19:22:27 +0000 (14:22 -0500)]
build-sys: Drop `-Werror=aggregate-return`
This is failing for me as of recently but only when I build
without optimization. I don't think we've ever written any
code that returned a large structure by value.
Let's just drop this one.
Colin Walters [Thu, 17 Feb 2022 17:45:19 +0000 (12:45 -0500)]
Merge pull request #2545 from dbnicholson/lgtm-deps
.lgtm.yml: Fix gpgme dependency
Dan Nicholson [Thu, 17 Feb 2022 17:13:03 +0000 (10:13 -0700)]
.lgtm.yml: Fix gpgme dependency
Since Ubuntu 18.04, libgpgme-dev is the real package and libgpgme11-dev
is a virtual package provided by it. Apparently LGTM running on Ubuntu
20.04 no longer resolves the virtual package:
```
WARNING: Package 'libgpgme11-dev' requested by configuration file was not found
```
That ends up causing the build to fail:
```
configure: error: Need GPGME_PTHREAD version 1.1.8 or later
```
Colin Walters [Tue, 15 Feb 2022 23:22:01 +0000 (18:22 -0500)]
Merge pull request #2542 from cgwalters/tar-error-prefixing
lib/tar: Add some error prefixing
Colin Walters [Tue, 15 Feb 2022 19:17:20 +0000 (14:17 -0500)]
lib/tar: Add some error prefixing
We're trying to debug a problem with a tar stream with hardlinks,
and I think this will be helpful.
Colin Walters [Sun, 13 Feb 2022 15:54:30 +0000 (10:54 -0500)]
Merge pull request #2541 from melix99/find-remotes-fix-typo
man: Fix typo in ostree-find-remotes
Colin Walters [Sun, 13 Feb 2022 15:53:33 +0000 (10:53 -0500)]
Merge pull request #2540 from melix99/switch-fix-typo
man: Fix typo in ostree-admin-switch
Marco Melorio [Sat, 12 Feb 2022 18:00:28 +0000 (19:00 +0100)]
man: Fix typo in ostree-find-remotes
Marco Melorio [Sat, 12 Feb 2022 17:48:35 +0000 (18:48 +0100)]
man: Fix typo in ostree-admin-switch
Colin Walters [Sat, 12 Feb 2022 14:04:43 +0000 (09:04 -0500)]
Merge pull request #2539 from chergert/main
lib/bootloader: use ot_journal_print() instead of sd-journal
Christian Hergert [Fri, 11 Feb 2022 23:12:15 +0000 (15:12 -0800)]
lib/bootloader: use ot_journal_print() instead of sd-journal
This needs to use the helper so that USE_LIBSYSTEMD still works as
expected.
Christian Hergert [Fri, 11 Feb 2022 22:31:12 +0000 (14:31 -0800)]
lib/util: add syslog.h for ot_journal_print()
If we aren't including sd-journal, we may need this too.
Colin Walters [Fri, 11 Feb 2022 23:01:49 +0000 (18:01 -0500)]
Merge pull request #2538 from cgwalters/dirmeta-not-floating
core: Mark `ostree_create_directory_metadata` as `(not nullable)`
Colin Walters [Fri, 11 Feb 2022 20:34:55 +0000 (15:34 -0500)]
Merge pull request #2491 from nikita-dubrovskii/secure-execution
s390x: add secure-execution support
Colin Walters [Fri, 11 Feb 2022 19:09:49 +0000 (14:09 -0500)]
core: Mark `ostree_create_directory_metadata` as `(not nullable)`
So I can drop an unnecessary use of `unwrap()` in Rust.
Nikita Dubrovskii [Mon, 17 Jan 2022 14:59:54 +0000 (15:59 +0100)]
s390x: add LUKS keyfile to 'sd-boot'
This allows to use Secure Execution with LUKS encrypted boot disk,
key and cryptab are stored only in 'sd-boot' encrypted image.
Signed-off-by: Nikita Dubrovskii <nikita@linux.ibm.com>
Nikita Dubrovskii [Wed, 17 Nov 2021 12:10:20 +0000 (13:10 +0100)]
s390x: add "IBM Secure Execution for Linux" support
If system contains ibm-z-hostkey (fetched during ignition), than
ostree generates 'sd-boot' image and reboots into Secure Execution
Signed-off-by: Nikita Dubrovskii <nikita@linux.ibm.com>
Colin Walters [Wed, 9 Feb 2022 22:15:26 +0000 (17:15 -0500)]
Merge pull request #2537 from jlebon/pr/fix-floating
lib/gpg-verify-result: Add missing floating annotation
Jonathan Lebon [Wed, 9 Feb 2022 19:29:50 +0000 (14:29 -0500)]
lib/gpg-verify-result: Add missing floating annotation
I think I'm hitting issues due to this while using the Rust bindings:
https://github.com/coreos/rpm-ostree/pull/3406#issuecomment-
1033084956
The bindings for those APIs use `from_glib_full` which says:
> Because ownership can only be transferred if something is already
> referenced, this is unsuitable for floating references.
Colin Walters [Fri, 4 Feb 2022 22:51:02 +0000 (17:51 -0500)]
Merge pull request #2535 from dbnicholson/summary-commit-version
lib/repo: Add commit version metadata to summary metadata
Dan Nicholson [Fri, 4 Feb 2022 21:11:06 +0000 (14:11 -0700)]
lib/repo: Add commit version metadata to summary metadata
The commit metadata `version` key is well established but getting it for
a remote commit is cumbersome since the commit object needs to be
fetched and loaded. Including it in the summary additional metadata
allows a much more convenient view of what each of the remote refs
represents.
Jonathan Lebon [Thu, 3 Feb 2022 20:36:50 +0000 (15:36 -0500)]
Merge pull request #2534 from jlebon/pr/copr
Jonathan Lebon [Thu, 3 Feb 2022 18:25:07 +0000 (13:25 -0500)]
Add COPR integration Makefile
I'd like to enable auto-builds of this repo to
https://copr.fedorainfracloud.org/coprs/g/CoreOS/continuous/ so it could
eventually feed into
https://github.com/coreos/fedora-coreos-tracker/issues/910.
Jonathan Lebon [Thu, 3 Feb 2022 18:23:43 +0000 (13:23 -0500)]
ci/make-git-snapshot.sh: xz the archive
This matches `make dist` and what the spec file expects.
Jonathan Lebon [Thu, 3 Feb 2022 18:22:47 +0000 (13:22 -0500)]
ci/make-git-snapshot.sh: auto-initialize submodules
Matches `autogen.sh`.
Jonathan Lebon [Thu, 3 Feb 2022 18:21:54 +0000 (13:21 -0500)]
ci/make-git-snapshot.sh: fix archive name
The archive name is libostree even though the project name is ostree, so
we can't rely on the directory name.
Just hardcode it.
Jonathan Lebon [Thu, 3 Feb 2022 18:08:22 +0000 (13:08 -0500)]
ci/libbuild.sh: drop yum/CentOS support
`dnf` is present in all the platforms we care about now, and the CentOS
bit is out of date. We can re-add it if we add e.g. C[89]S support with
the updated list of packages.
Motivated by noticing that the `yum` symlink isn't always present.
Jonathan Lebon [Tue, 1 Feb 2022 18:57:00 +0000 (13:57 -0500)]
Merge pull request #2533 from lucab/ups/commit-cleanup-assertions
Luca BRUNO [Tue, 1 Feb 2022 17:33:28 +0000 (17:33 +0000)]
lib/commit: clean up assertions
This aligns all the assertion in the module. In particular, it gets
rid of all `g_return_val_if_fail` instances which may fail without
properly setting GError to the caller.
Colin Walters [Sat, 29 Jan 2022 15:19:24 +0000 (10:19 -0500)]
Merge pull request #2530 from smcv/update-libglnx-2525
Update libglnx submodule
Simon McVittie [Fri, 28 Jan 2022 12:20:39 +0000 (12:20 +0000)]
Update submodule: libglnx
Resolves: https://gitlab.gnome.org/GNOME/libglnx/-/issues/3
Signed-off-by: Simon McVittie <smcv@collabora.com>
Colin Walters [Fri, 28 Jan 2022 14:22:27 +0000 (09:22 -0500)]
Merge pull request #2529 from smcv/static-delta-error-unwind
libotutil: Avoid infinite recursion during error unwinding
Simon McVittie [Fri, 28 Jan 2022 11:08:00 +0000 (11:08 +0000)]
libotutil: Avoid infinite recursion during error unwinding
When we clean up from an error, for example copy_file_range() failing
while we generate a static delta (perhaps caused by
https://gitlab.gnome.org/GNOME/libglnx/-/issues/3 or by a
genuine write error), we might free a variant builder that has a
non-null parent. Previously, this caused infinite recursion and a stack
overflow, repeatedly freeing the same object, but Luca Bruno suggested
that the intention here appears to have been to free the parent object.
Partially resolves https://github.com/ostreedev/ostree/issues/2525
(the other bug reported in that issue needs to be resolved by updating
libglnx to a version where libglnx#3 has been fixed).
Signed-off-by: Simon McVittie <smcv@collabora.com>
Luca Bruno [Wed, 26 Jan 2022 08:36:45 +0000 (08:36 +0000)]
Merge pull request #2524 from jlebon/pr/unlink-lock
lib/deploy: When deleting staged deployment, delete any lock
Jonathan Lebon [Fri, 21 Jan 2022 18:41:32 +0000 (13:41 -0500)]
tests/kolainst: Avoid recursive symlinks
`kola` now follows symlinks when archiving an external test's `data/`
dir. So the recursive `data` symlink we have here breaks it.
Let's just move the shared files in its own directory and update the
symlinks.
Simon McVittie [Tue, 25 Jan 2022 11:01:43 +0000 (11:01 +0000)]
Remove dh-exec build-dependency, unused since previous version
Colin Walters [Tue, 25 Jan 2022 10:59:58 +0000 (05:59 -0500)]
Merge pull request #2526 from lucab/ups/openat-load-xattrs
lib/repo: open file only if required
Luca BRUNO [Mon, 24 Jan 2022 16:46:40 +0000 (16:46 +0000)]
lib/repo: open file only if required
This tightens up the logic for opening a file while inspecting its
xattrs. The only codepath fetching xattrs from a FD is the one
handling 'bare' mode.
It also rearranges the else-assert flow, mostly for future-proofing.
Simon McVittie [Mon, 24 Jan 2022 10:44:13 +0000 (10:44 +0000)]
Release to unstable
Simon McVittie [Mon, 24 Jan 2022 10:43:09 +0000 (10:43 +0000)]
Make fast forward from 2021.6-1
[dgit --quilt=unapplied]
Simon McVittie [Mon, 30 Jul 2018 15:51:01 +0000 (16:51 +0100)]
Skip test-pull-repeated during CI
This test is expected to fail a small proportion of the time. During
the build of ostree 2018.7-1 in Debian, it seems we were unlucky on
s390x. Non-deterministic tests are also problematic for autopkgtest,
where they can gate migration of our dependencies like GLib, so skip
this test unless the caller has opted-in to non-deterministic tests.
It would be appropriate to enable this test in environments where
failures can easily be retried and are not disruptive to other
packages.
Signed-off-by: Simon McVittie <smcv@debian.org>
Gbp-Pq: Topic debian
Gbp-Pq: Name Skip-test-pull-repeated-during-CI.patch
Simon McVittie [Mon, 24 Jan 2022 09:51:23 +0000 (09:51 +0000)]
Use debhelper 11 features instead of dh-exec
Since compat level 11, man pages installed by the upstream build system
can be listed in d/*.manpages and will automatically be excluded under
the nodoc build-profile.
Simon McVittie [Mon, 24 Jan 2022 09:50:47 +0000 (09:50 +0000)]
Move README.md from gir1.2-ostree-1.0 to libostree-doc
Jonathan Lebon [Fri, 21 Jan 2022 18:47:02 +0000 (13:47 -0500)]
ostree/deploy: Test finalization locking
Support for that file was added previously, but the testing lived in
rpm-ostree only. Let's add it here too.
In the process add a hidden `--lock-finalization` to `ostree admin
deploy` to make testing easier (though it could also be useful to update
managers driving OSTree via the CLI).
Jonathan Lebon [Fri, 21 Jan 2022 16:28:25 +0000 (11:28 -0500)]
lib/deploy: When deleting staged deployment, delete any lock
Otherwise, any future staged deployment will also automatically be
locked even if not requested. Likely we should fold the locking into the
primary `staged-deployment` serialized GVariant instead.
Joseph Marrero Corchado [Fri, 21 Jan 2022 13:30:00 +0000 (08:30 -0500)]
Merge pull request #2523 from lucab/ups/ls-gcancellable-gerror
builtin: use GCancellable and GError everywhere
Luca BRUNO [Fri, 21 Jan 2022 12:26:32 +0000 (12:26 +0000)]
builtin: use GCancellable and GError everywhere
This reworks `ostree ls` top-level logic so that cancellation
tokens and error details are plumbed through all codepaths.
It also gets rid of all previous goto jumps.
Luca Bruno [Thu, 20 Jan 2022 16:58:05 +0000 (16:58 +0000)]
Merge pull request #2521 from cgwalters/syncfs-only-log
deploy: Also log to journal if we time out global sync()
Colin Walters [Thu, 20 Jan 2022 15:50:07 +0000 (10:50 -0500)]
deploy: Also log to journal if we time out global sync()
We do implicitly have this data because we log timings via structured
metadata in a later journal entry, but it's quite common to lose
the structured metadata because a lot of tooling just grabs the default
syslog-compatible text from `journalctl`.
Let's be louder when we hit this case as a general rule too; I think
most people shipping ostree systems want to see if it's happening.
Colin Walters [Thu, 20 Jan 2022 14:04:34 +0000 (09:04 -0500)]
Merge pull request #2520 from lucab/ups/builtin-commit-reject-empty-metadata
lib/commit: reject empty metadata keys